<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.HashMap" %>
<%--
  Created by IntelliJ IDEA.
  User: WuLiangHang
  Date: 2021/3/11
  Time: 11:01
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1>EL表达式 运算</h1>
${ 5 == 5 }<br/>
${  5 !=5 }<br/>
${ 3 < 5 }<br/>
${ 2 > 10 }<br/>
${ 5 <= 12 }<br/>
${ 3 >= 5 }<br/>
${ 12 == 12 && 12 < 11 }<br/>
${ 12 == 12 ||12 < 11 }<br/>
${ !true }<br/>
${ 12 + 18 }<br/>
${ 18 - 8 } <br/>
<br/>
<br/>
<%--
empty运算 可以判断 一个数据是否为空
如果为空 输出true 如果不为空 输出false
以下几种情况为空：
1.值为null
2.值为空字符串
3.值是Object类型数组 长度为零
4.元素个数为零的list集合
5.元素个数为零的map集合
--%>
<%
    request.setAttribute("emptyNull", null);
    request.setAttribute("emptyStr", "");
    request.setAttribute("emptyArr", new Object[]{});
    request.setAttribute("emptyList", new ArrayList<>());
    request.setAttribute("emptyMap", new HashMap<>());
%>
${empty emptyNull}<br/>
${empty emptyStr}<br/>
${empty emptyArr}<br/>
${empty emptyList}<br/>
${empty emptyMap}<br/>
${10 == 10 ? "真":"假"}<br/>

<%--
.点运算  []中括号运算符
.点运算  可以输出bean对象中某个属性的值
[]中括号运算 可以输出有序集合中某个元素的值
--%>


<%--
 1）关系运算

           关系运算符                 说     明                     范  例                        结果

            == 或 eq                等于               ${ 5 == 5 } 或 ${  5 eq 5 }           true

             != 或 ne              不等于               ${  5 !=5 } 或 ${  5 ne 5 }           false

             < 或 lt                小于                ${ 3 < 5 } 或 ${  3 lt 5 }           true

             > 或 gt                大于               ${ 2 > 10 } 或 ${  2 gt 10 }          false

             <= 或 le             小于等于                 ${ 5 <= 12 } 或 ${ 5 le 12 }        true

             >= 或 ge             大于等于                  ${ 3 >= 5 }  或 ${ 3 ge 5 }        false

    2）逻辑运算

         逻辑运算符            说     明                           范  例                            结果

         && 或 and          与运算            ${ 12 == 12 && 12 < 11 } 或 ${ 12 == 12 and 12 < 11 } false

          || 或 or          或运算             ${ 12 == 12 ||12 < 11 } 或 ${ 12 == 12 or 12 < 11 } true

          ! 或 not         取反运算                        ${ !true } 或 ${not true }             false

    3）算数运算

           算数运算符                  说     明                         范  例                       结果
               +                  加法                       ${ 12 + 18 }                  30
               -                  减法                       ${ 18 - 8 }                   10
               *                  乘法                       ${ 12 * 12 }                 144
            / 或div                除法           ${ 144 / 12 } 或 ${ 144 div 12 }           12
            % 或mod                取模           ${ 144 % 10 } 或 ${ 144 mod 10 }           4
--%>
</body>
</html>
